'use strict'

var fs=require('fs');
var url=require('url');
var path=require('path');
var http=require('http');

var root=path.resolve(process.argv[2]||'.');

console.log("Static root dir is :"+root);

//创建服务器
var server = http.createServer(function(request,response)
{
    //pathname 获得/path/to/file的路径   请求为：http://user:pass@host.com:8080/path/to/file?query=string#hash时
    var pathname=url.parse(request.url).pathname;//parse返回一个对象，当中有pathname等属性
    //拼接成完整路径
    var filepath=path.join(root+pathname);  
    //根据文件状态做不用处理
    fs.stat(filepath,function(err,stats)
    {
        if(!err&&stats.isFile())       //没有错误 文件存在
        {
            console.log('200'+request.url);
            //发送200响应
            response.writeHead(200);
            //文件读取流 注入response（写出流）
            fs.createReadStream(filepath).pipe(response);
        }
        else
        {
            console.log('404'+request.url);
            response.writeHead(404);
            response.end("404 NOT FOUND");
        }
    });

});

server.listen(8080);

console.log("server is running at 127.0.0.1:8080");